a, b= map(int, input().split())
print(a+b-1)
for i in range (1,a+1):
print(i, 1)
for i in range (2,b+1):
print(1,i)
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int b, g;
cin >> b >> g;
cout << b + g - 1 << endl;
for (int i = 0; i < b; i++) {
cout << i + 1 << " " << 1 << endl;
}
for (int i = 1; i < g; i++) {
cout << 1 << " " << i + 1 << endl;
}
return 0;
}
1512D - Corrupted Array | 667B - Coat of Anticubism |
284B - Cows and Poker Game | 1666D - Deletive Editing |
1433D - Districts Connection | 2B - The least round way |
1324A - Yet Another Tetris Problem | 246B - Increase and Decrease |
22E - Scheme | 1566A - Median Maximization |
1278A - Shuffle Hashing | 1666F - Fancy Stack |
1354A - Alarm Clock | 1543B - Customising the Track |
1337A - Ichihime and Triangle | 1366A - Shovels and Swords |
919A - Supermarket | 630C - Lucky Numbers |
1208B - Uniqueness | 1384A - Common Prefixes |
371A - K-Periodic Array | 1542A - Odd Set |
1567B - MEXor Mixup | 669A - Little Artem and Presents |
691B - s-palindrome | 851A - Arpa and a research in Mexican wave |
811A - Vladik and Courtesy | 1006B - Polycarp's Practice |
1422A - Fence | 21D - Traveling Graph |